其他
AUTOSAR诊断栈分析(三):DTC状态位
目录
1.DTC状态位定义
2.DTC状态位迁移分析
2.1 testFailed2.2 testFailedThisOperationCycle2.3 pendingDTC 2.4 confirmedDTC 2.5 testNotCompletedSinceLastClear2.6 testFailedSinceLastClear 2.7 testNotCompletedThisOperationCycle2.8 warninglndicatorRequested3.常见DTC 状态位一览
4.小结
1.DTC状态位定义
前面,我们详细描述了在AUTOSAR中Event的状态定义,实际上在AUTOSAR中DEM还支持ISO-14229-1 附录D中定义的UDS状态位,想必这个状态位,各位诊断工程师就非常熟悉了,该状态主要是用于定义DTC(Diagnostic Trouble Code )的状态,具体有如下8位:bit | 描述(缩写) | 含义 |
0 | testFailed(TF) | 置1表示最近一次测试故障 |
1 | testFailedThisOperationCycle (TFTOC) | 置1表示当前操作循环上报过故障 |
2 | pendingDTC (PDTC) | 置1表示当前或者上一完成的操作循环上报过故障 |
3 | confirmedDTC (CDTC) | 置1表示故障已确认,存到NvM中 |
4 | testNotCompletedSinceLastClear (TNCSLC) | 置1表示自上次清除后未完成测试 |
5 | testFailedSinceLastClear(TFSLC) | 置1表示自上次清除后又上报过一次故障 |
6 | testNotCompletedThisOperationCycle(TNCTOC) | 置1表示当前操作循环未完成测试 |
7 | warningIndicatorRequested(WIR) | 置1表示请求故障指示灯 |
2.DTC状态位迁移分析
那么回过头来,在DEM中是如何通过设置Event状态来影响UDS DTC status各个bit置位情况?我们挨个来分析。2.1 testFailed
初始状态下,testFailed为“逻辑0”,开启测试后,分为如下情况:具体状态迁移如下图描述:1. 监视器设置Event状态为PASSED,testFailed = 0; 示例:Dem_SetEventStatus(eventID,PASSED) 2. 监视器设置Event状态为FAILED,testFailed = 1; 示例:Dem_SetEventStatus(eventID,FAILED) 3. testFailed = 1的情况下,监视器设置PASSED或调用清除诊断信息
2.2 testFailedThisOperationCycle
这一比特就比较简单了,当前操作循环的测试失败,参考状态迁移如下:2.3 pendingDTC
pengdindDTC理解起来相对抽象,准确讲它是处于 testFailed和confirmedDTC的一种中间状态。如下图:2.4 confirmedDTC
该状态位不管是开发还是售后应该都非常熟悉,该状态置位后DTC相关信息都会按指定顺序存到NvM中。既然是要存到NvM中,那么该bit置位的条件就比较严格,如下:2.5 testNotCompletedSinceLastClear
该bit从字面意思可以很容易理解,即上次清除后还没有完成测试,因此其状态迁移也比较简单,如下:2.6 testFailedSinceLastClear
通常该bit置1表示自上次清除后至少检测到一次故障。2.7 testNotCompletedThisOperationCycle
与bit4很像,但是该bit用于指示当前操作循环测试未完成。2.8 warninglndicatorRequested
该bit用于请求警告灯指示,在仪表上用的比较多,因此不是所有的DTC都会使用到该bit。该bit一般与bit3协同使用,当故障确认后,该bit也要置1。3.常见DTC 状态位一览
这个状态是最常见的,是未监控到故障的稳定状态 |
||
这个状态常见于DTC的优先级不够且当前发生的DTC超过20个以后,被替换的情况。 |
||
|
||
目前这种状态主要是由于当前在发生故障,但由于DTC优先级不够,未被记录造成。 |
||
目前这种状态主要是由于当前操作循环发生过故障,但由于DTC优先级不够,未被记录造成的 |
4.小结
通过前三篇文章,我们对DEM和故障处理有了一个基础认识,但还远达不到做诊断栈开发的程度,还需要熟读标准,结合配置工具和代码进一步熟悉,如果有时间的话,手撸一遍DEM(实在不行就抄)会有新的理解。下一节我们继续聊DEM的去抖处理,这也是做诊断开发必备的知识。往期回顾:
1.汽车标定
万字长文:汽车标定技术--XCP概述汽车标定技术--标定量与#pragma的趣事
汽车标定技术--A2L格式分析
2.AUTOSAR
AUTOSAR OS概述(一)AUTOSAR OS概述(二)
3.汽车网络安全
汽车信息安全--MCU启动常用密码算法汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述
4.汽车功能安全合集
5.汽车虚拟化合集
6.杂七杂八